<?php
//核心类
class C49{
	//类外部启用方法
	public static function run(){
		//1.设置常量 
		self::setConst();
		//2.创建文件夹
		self::createDir();
		//3.载入必须文件
		self::loadCore();
		//4.执行应用类
		App::run();
	}
	
	//设置常量 
	private static function setConst(){
		$path=str_replace('\\', '/', __FILE__);
		//定义文件夹C49目录路径
		define('C49_PATH', dirname($path));
		//定义文件夹Cms目录路径
		define('ROOT_PATH', dirname(C49_PATH));
		//定义文件夹Index目录路径
		define('APP_PATH', ROOT_PATH.'/'.APP_NAME);
	    //定义文件夹Config目录路径
	    define('APP_CONFIG_PATH', APP_PATH.'/Config');
		//定义文件夹Controller目录路径
		define('APP_CONTROLLER_PATH', APP_PATH.'/Controller');
		//定义文件夹View目录路径
		define('APP_VIEW_PATH', APP_PATH.'/View');
		
		//组合载入文件的路径
		//定义文件夹Lib目录路径
		define('LIB_PATH', C49_PATH.'/Lib');
		//定义文件夹Core目录路径
		define('CORE_PATH', LIB_PATH.'/Core');
		//定义文件夹Function目录路径
		define('FUNCTION_PATH', LIB_PATH.'/Function');
		
	}
	
	//创建文件夹
	private static function createDir(){
		$dirArr=array(
		    APP_CONFIG_PATH,
			APP_CONTROLLER_PATH,
			APP_VIEW_PATH
		);
		foreach ($dirArr as $v) {
			is_dir($v) || mkdir($v,0777,true);
		}
	}
	
	//载入必须文件
	private static function loadCore(){
		$coreArr=array(
		   CORE_PATH.'/App.class.php',
		   CORE_PATH.'/Controller.class.php',
		   FUNCTION_PATH.'/functions.php'
		);
		foreach ($coreArr as $v) {
			require_once $v;
		}
		
	}
	
}

C49::run();


?>